Public (software) Library Programming Library Descriptions and Compilation Copyright 1993 Nelson Ford Duplication, reprinting and distribution of these descriptions is restricted. See LICENSE.DOC in the PSL_NEWS directory for complete information =====BASIC Contents: -----COMPILRS: Basic compilers, interpreters, program generators -----TUTORS: tutorials and general info. for Basic -----TOOLS: Basic programming tools -----ARCHIV: archiving and compression routines for Basic. -----DATA_INP: data entry routines for Basic -----WIN_MENU: windowing, menu and GUI routines for Basic (The following sections are in BASIC2.TXT) -----VIDEO: screen & video routines for Basic (also see WIN_MENU & GRAPHICS) -----GRAPHICS: drawing and plotting routines for Basic -----MULTIBAS: multi-function libraries and routines -----DOS_ACCS: DOS access routines for Basic -----KYB_MOUS: keyboard, mouse and joystick routines for Basic -----SORTSRCH: sorting and searching routines for Basic -----DAT_TIME: date & time routines for Basic -----SOUNDS: music and sound generating in Basic. -----NUMERIC: math and numeric routines for Basic -----ENCRYPT: file encryption & CRC routines for Basic -----MULTLANG: routines for translating/interfacing BASIC & other languages. -----APPS: source code for actual application programs -----COMMUNI: communications routines for Basic -----OTHER: various Basic routines -----VBDOS: stuff for VB-DOS ======================================================= -----COMPILRS: Basic compilers, interpreters, program generators [TRY_QB] Try QuickBASIC (Microsoft Corporation; $0) contains a trial version of Microsoft QuickBASIC 4.5. Only those features that allow you to load and save your programs, or compile executable files have been disabled. MS has put virtually the entire QB manual into context-sensitive help screens. [ANGELLIB] AngelLib 1.9 (Babudro, Angel; $17) is a library of MS Basic PDS 7.1 routines for developing business applications. Routines are provided to manage/select printers and fonts, laser font downloading, scrollable information window, file selection window and more. Sample linker library (LIB) and a quick library (QLB) are included. [APG@_1, APG@_2] Automatic Program Generator 1.2 (S & M Software; $30) allows for easy creation of programs that create, maintain and print data files. Several files are included as examples. [APBASIC] APBasic Compiler (CompTech Software and Consulting Inc.; $43) is a structured BASIC programming environment and compiler with full-screen debugger and extensive on-line help. ASIC (disk #2363), a similar program, is a very good BASIC compiler but without denigrating it in any way, APBasic seems to be even slicker, more powerful, and more compatible with BASICA/QB. We fed a small QB program into APBasic which handled it easily. The same program in ASIC generated over 50 compatibility type errors when compiled. We also like APBasic's debugging and error searching better. A program is included that will create a doc file from the help file. [ASIC] ASIC 4.0 (Visti, David A.; $25) is a BASIC programming environment. It includes a full-screen text editor from which you can edit, compile, and execute your programs - all without leaving the editor. ASIC is a subset of BASICA and GWBASIC and supports over 40 BASIC statements, integer and string variables, and integer arrays. It will compile programs at high speed, and the code it generates is fast and compact. It includes support for Bload, Bsave, Command$, Date$, Time$, and many other commands. Other features include on-line keyword and menu help, fast debugger trace speed, support for 32 bit integer values, block IF statements, support for hexidecimal and binary constants, EGA/VGA graphics support, and more. [TINYBAS] Tiny Basic Interpreter is the assembler source code and executable for a small (<3k) Basic interpreter. -----TUTORS: tutorials and general info. for Basic [BASCTUT@] BASIC Tutorial #1 (Harper, Richard ASP; $0) is a tutorial on BASIC. It deals with with variables, INPUT and PRINT statements and simple program flowcharting. [Quirks] Quirks (Novisoff, Mark; $0) contains information about bugs, quirks, and general points of interest about PDS7 and QB. [TutorQB@] TutorQB (Ford, Nelson, ASP; $0) is a set of tutorials for QB. While most of the information is still valid, the screen layouts were done for QB. [ISAMTOO] IsamToot (Woodward, Kirk; $0) is a tutorial on Microsoft's ISAM database engine in PDS 7. The course moves from flat file demos to multi-file, relational database application. Source is included. [Un_New] Un_New tells how to get back a program in BASICA after typing NEW. [5BASIC] 5BASIC (DeJesus, Edmund; $0) teaches you how to write programs by learning just 5 Basic statements. [Sublist] Sublist 1.0 (Feldhamer, Leon; $0) creates a cross reference listing of all SUBs and FUNCTIONS in a Quick Basic or Basic PDS program. [TruErr] TruErr (Kiehl, Thomas; $35) gives you the true error line in your compiled PDS or VBDOS programs instead of addresses pointing to the error handler. [BTRAIN] Basic Training 1.2 (Cascoly Software ASP; $?) is an introductory tutorial on Basic programming. It can be used with almost any Basic compiler or environment such as QBASIC that comes with DOS 5 or GWBASIC that comes with most DOS's prior to 5. Basic Training introduces the elements of Basic including looping, color and sound, arrays and data, IF-THENs, GOSUBs and functions, files, and simple graphics. Examples that you can run and modify are included. -----TOOLS: Basic programming tools [SIMP_HLP] Simply Help 1.06 (Simpleware ASP; $35) lets you add hypertext type help systems to your QB programs, as well as create stand-alone hypertext manuals, etc. A hypertext editor, compiler, and library for QuickBASIC 4.xx are included. [RTX] Rtx Professional Toolbox (Cyberphilia, Inc.; $30) lets your apps quickly and easily generate professional looking reports from your raw data. Rtx handles page breaks, headers and footers, formatting, subtotalling columnar data and much more. [BasicXR] BasicXR (Goodale, JN; $15) will print a program listing, a cross-reference of line labels or line numbers, and a cross reference of reserved words. [Compare] Compare (Fort's Software; $10) compares two Basic program files which are saved on the disk in ASCII format. [QB_LIST] QB_LIST (Don West; $0) lists QuickBASIC or QBASIC programs better than their respective editors list them. [SmallE] SmallE (Muench, T.G. ASP; $0) is a text file describing how to create smaller QuickBASIC programs. Two sample programs are included. [StripHlp] StripHlp (Comptech Software and Consulting, Inc.; $?) will strip the QB help file down to pages that can be printed. [FLWCHRT] Flowchart (Lively, Lynn; $?) charts the flow of a Basic program to make it easier to understand and modify that program. [Linebug] Linebug (ComFax; $10) lets you know whether or not you have accidentally fouled-up any line numbers in a BASIC program when you are not using the BASIC Editor. Linebug will display the line number of any line that is a duplicate, out of sequence, contains an illegal character, or does not have the proper number of characters. [BL_UTIL] MakeBload/StripBload (Nelson, Chuck; $0) converts data files to/from BASIC's BLOAD format. [MAKEQLB] MakeQLBV is a .QLB maker utility for BASIC programs. Also included is FASTQLB. [MON_RB] Monitor (Bemis, Richard C.; $?) is a series of routines that provide a consistant user interface for application development. It helps minimize the drudgery of screen development, menus, titles, prompts, and editing input as the user interacts with your application. Monitor's routines are designed to be incorporated as a "front end" into application programs and were created to make custom application development easier. [OPTIMIZ] Optimize (Glowacki, Dave; $?) removes all unreferenced line numbers, allowing the compiler to optimize over entire blocks of code rather than single lines. [Profile] Profile resides in memory and logs how much time is spent executing each part of a program. [Scrn_Map] Scrn_Map will cause the Epson printer (with script capability) to make a form that can be used to lay-out screen formats for the IBM color-graphics adapter card in the alpha-numeric mode in either the 40 or 80 column width. You may choose either a blank form or one with each character position filled with the address of the memory location corresponding to that position. [Squish33] Squish33 (Buerg, Vernon D.; $0) will very quickly remove blanks and, optionally, remarks and line numbers and combine lines from a BASIC program stored in ASCII. [BPREP] BPrep 1.10 Applied Design Group; $29) is a preprocessor for the BASIC language. It provides conditional compilation, include files, and defined constants. It can be used with just about any BASIC product including Turbo Basic, QuickBasic, GW Basic, and MEQ Basic. [LOVR] Lovr 1.12 (Devore, Michael E.; $45) is an overlay manager for QuickBASIC 4+. An overlay manager allows you to not have to load all of your program at once, calling up additional parts only as needed. This allows programs to load faster and to run in less memory. LOVR will add about 11k to the size of your EXE program and will support up to eight overlays, calls between overlays and the /EXEPACK option of LINK. [PRNTPRG] PrntProg (Freeman, Daniel; $0) prints out QB code with subroutines on separate pages, long lines wrapped around instead of truncated (on HPLJs), and a table listing all the subroutines and their page numbers. [QBauto] QBauto is QB4 source code for a program to get QB to automatically compile all the programs in the current directory. [QBFE] QuickBasic Front End (Gagliano, Jim; $0) is a front end for QB(X). It lets you select from up to 16 command line options, as well as specify a QLB and program module to load. The program is not as efficiently designed as it could have been, but it is a good concept overall. (We have discussed the design problems with the author who may make changes accordingly.) [QBFlow] QBFlow (van Kuilenburg, Martin; $0) shows the relationships between the main module and the SUB and FUNCTION procedures in a QuickBasic source file. [QBCREF] QBcref (Tesch, Greg; $?) produces a program listing and cross-reference of QB programs. [QBPrt] QBPrt 1.0 (Weinman, L.; $0) will make QuickBASIC source code more readable by indenting the logical structures to make them more obvious. [QBX] QBX 2.06 (Buerg, Vernon D.; $0) is a cross-reference utility for QB programs, particularly those written without line numbers. It will print out a listing of the specified program, adding a line number to each line. It will then print a list of variables cross-referenced to those line number. [Libkey] Libkey 1.0 (Coon, John M.; $20) is a Quicklibrary and LIB utility for QuickBasic programmers. It will handle libraries with as many as 1000 object modules and will link your libraries to the QuickLibrary utility of your choice. [MIE] MIE (Roepenack, Scott; $25) is a QLB that lets you insert over 50 lines of code for IF ELSEIF END IF statements in under 10 seconds. [MSC] MSC (Roepenack, Scott; $25) is a QLB that inserts a Select Case into your programs with a couple of keystrokes. [QBLink] QBLink 3.1 (Jordan, Gerald; $10) is a compiler and linker manager for BC. You get access to command-line options not available from within the environment, while still having the ease of use of a menu driven interface for compiling -- a must for anyone with QB or PDS who doesn't enjoy reading manuals. [SORTS] Sorts runs and compares 10 programs for sorting numbers and strings in BASIC. An informative explanation is also included. [Xref] Xref 1.6 (Tools; Dean Hodges; $10) cross-references QB code: subroutines, functions, constants, labels and variables. [IDECLAR] IDeclare 1.01 (KittyTigerSoftware; $5) creates include files without duplicate or unused declarations, customized for selected modules. Up to 32 include files and up to 32 modules can be selected. [PreQLB] PreQLB 2.0 (MicroHelp Inc.; $0) will automatically build a Quick Library containing all the external routines needed by a specific program. [QBTiny] QBTiny 1.2 (Hanlin, Thomas G. III; $35) lets you create smaller QB 4.5 EXE files. [COMMENTS] Comments (LAMCO Software; $20-$30) does a very thorough job of helping you annotate your QB source code. It examines your code, prompts you for information where needed, saves your original code to a backup file, and creates a new file with your commented code. [LibMgr] LibMgr (Evers, Dave; $?) is a library manager to make Microsoft's QuickBASIC BUILDLIB easier to use. [PPM110] Programmer's Project Manager 1.1 (Stevenson Technical Services, Inc.; $50) allows BASIC programmers to have complete control over a program's development. You can compile, link using multiple libraries, compress the EXE, scan for viruses, date/time stamp, and compress the entire project. Source files can be edited using your own editor or the PPM editor provided. [QuikLINK] QuickLINK (BaySys; $33) is a menu-driven compilation and link manager. [QKCOMPIL] QuickCompile v1.0 (Thomas Software; $15) greatly simplifies compiling with QB. It makes it easy to select the compilation switches you need. In fact, it looks at your source and selects most of the ones you need automatically. On-line help is available for all BC and Link options. [SA_KNIFE] Swiss Army Knife is a set of utilities primarily for use with BASICA: file compaction, line optimization, alias substitution, formatted program listing and cross-referencing of variables and line numbers. -----ARCHIV: archiving and compression routines for Basic. [DOUBLHSH] DoubleHash (James, Colin III, CQA; $?) is a useful method for data compression when it is necessary to search for strings previously encountered in the uncompressed data. Double hashing performs better than linear probing when the hash table gets full, and is usually faster than linked lists. [QBArcv] QBArcv is an assembler routine to call from BASIC that will read the contents of ARC files. -----DATA_INP: data entry routines for Basic [Barmenu] Barmenu is an example of how to create a bar menu. [DataBas] DataBas is a set of QuickBASIC routines for text entry, record selection with a "bounce bar" and data indexing. [Inkey_NF] Inkey_NF (Ford, Nelson, ASP; $0) is a data entry control routine. Inkey2 is a more complex version. [INPEDIT] Input/Editor (Sharpe, Randy; $0) is a QB data entry routine. It allows you to layout the screen as you wish, providing for movable field names and input fields, a validation message line for each field displayed where you wish, and the ability to use the TAB, Arrows, or ENTER key. [LTSMenu] LTSMenu is an example of how to create a Lotus-type menu. [MENURTN] MenuRtns (Smith, Robert R.; $0-$25) is a library of QB routines: GetTime, GetDate, Shadow, Waitkey, MenuBar, MenuWindow, and DrawBox. [MenuSub] MenuSub is a routine to create moving bar menus in QB. [QBEDITR] QBeditor (Rouse, Christopher P.; $0) is a linkable edit routine for QuickBASIC. It is designed to be used with single line entry fields in a data base environment, it does not support the vertical cursor movement functions such as the up and down arrows, page up or down, etc. [SELECT] Screen Selector (Sharpe, Randy; $0) is a QB routine that allows user selection of a number of choices displayed on the screen. It allows for various combinations of rows, columns, column widths, and column spacing, as long as they will fit on the screen. [BBMENU] Bounce Bar Menu (Woodward, Kirk; $25) is BASIC source code for a moving bar menuing system. [TwoTap] TwoTap (Woodward, Kirk; $0) is source for a menuing system for QuickBASIC and/or PDS 7.1. [YNQfra] YNQfra (Woodward, Kirk; $10) is module that displays a Yes/No/Quit grid. The user makes a choice with the cursor keys. Extensive error trapping is included. [Edit_Q] Edit_Q (Kelly, Sidney J.; $0) is a QuickBasic text input/edit routine written in assembler. It supports full cursor control, insert, delete, etc., and will filter out invalid keystrokes. All source code is included. [MYED_SRC] MyEd Source (Ford, Nelson ASP; $0) this disk contains the complete QuickBASIC source code for a text editor. The source is modularized, heavily annotated, and uses long, descriptive names for variables and subroutines. All or part of the code could be added to any program needing editing capabilities or you could simply customize it for your own use. -----WIN_MENU: windowing, menu and GUI routines for Basic [PulDown] PulDown 3.0 (Duro, Albert; $15) generates customizable menus, both in the QuickBASIC environment and in compiled files. It is designed for creating menus with four to seven first-level selections and 20-50 second level options. Mouse support is provided. [CODE_IT1, CODE_IT2] Code-It for PDS and QB (Clear Software; $59) is a set of menu and windowing libraries for BASIC PDS and QuickBASIC. You can build pull down menus, pop-up menus, and ring or vertical menus. Windows can have text, boxes, lines, edit fields with controlled keyboard input and output, and several types of buttons. Other routines include mouse support, specialty windows, screen saving and restoring, box drawing, video hardware detection and more. [BWINDOWS] B-Windows (Image Computer Systems; $?) is a windowing routine BASICA and QB4. [BASWIND] Baswind & Bwtool (Evers, Dave & Morgan, J. P.; $0) is an extensive set of windowing and mouse routines for QB 4.5. Also included with BASWIND is the QB and assembler source as well as a compiled QB4.5 version of the demo programs. The documentation on how to interface to the various window/mouse routines is also included. [EZWINDOW] EZ-Windows (Strong, John C.; $30) is a collection of 15 CALLable routines for doing pop-up, pull-down and other window functions. Compatible with Microsoft development system, and PDS 7. [VidBASIC] VidBASIC (Kelly, Sidney J.; $0) contains QBASIC/MASM video text mode routines. You can save, restore, move, change, switch, identify, and write fast to the screen. Source is included. [MenuMan] MenuMan 1.6 (Salt and Light Software; $10) generates menu code for your programs with selection by letters or numbers and with eight different box styles. [BW] BASIC Windows (Wanex, Scott; $0) is an assembly language subroutine that is called from BASIC that will permit the use of pop up windows. Source, code and demo are included. [POPUPS] PopUps (Allan, Geoff; $25) is a library of text windows for QuickBASIC 4 and includes shadows, changeable colors, and mouse support. It supports MDA, CGA, Hercules, EGA, and VGA display adapters. [QBWIND] QBWindow2 (Messner, Jay; $?) is a set of utilities for use in QuickBasic 4.x to perform windowing and menuing functions. [QWEZ61] Windows R-E-Z 6.1 (Magnanti, Richard A.; $33) is a window management system for QB4+. With this collection users can make, save, restore, and delete up to 20 windows. The memory used to save windowed areas is outside of BASIC's normal data storage area leaving more room for the BASIC programs data. Features include up to 10 linked data-entry screens, each with up to 100 fields; single mark scroll windows, page up/page down for scroll windows, segmented pull-down or scroll windows, key characters (different colors or hi-intensity) for items in pulldown or scroll windows, and dynamic memory allocation for window memory. It also provides keyboard and Mouse input routines and de-allocates window memory when a window is deleted. Other features include info-line routines to display messages, directions or prompts at any screen location, a simplified set-up for pulldown windows, virtual scroll windows, and more. Over 500K of disk space is required. [PWEZ61] Windows R-E-Z (PDS) 6.1 (Magnanti, Richard A.; $33) is a window management system for BASIC 7.+ (PDS). See the description above. [KELLY_IF] Kelly's Interface (Kelly, Sidney J.; $0) is a nice set of routines and demo code for creating a mouse-controlled user interface with pull-down menus, buttons, and context-sensitive help. [LANGWN1, LANGWN2] LangWin 2.3 (Lang, Allen; $0) is a library of functions and subroutines that can be used to add Graphical User Interface (GUI) features to your text-mode programs. Features include shadowed windows, push buttons, click boxes, dialog boxes, input fields, mouse support and more. [PRO_PDS@] ProWindows Lite for BASIC PDS 7 5.2 (DSE Software Publishing; $25-$60) is a pop-up windows library for PDS7. The window manager can manage up to 128 concurrent windows. The program supports multiple, full-color, overlapping windows. You can move, re-size, hide, and scroll windows with either commands or a mouse. [PRO_QB_@] Pro_QB is a version of ProWindows Lite for QuickBASIC. [VUDU] VUDU (Binary Systems; $35) is a library of tools for QB or PDS 7. Routines include windowed menus, pull down menus, dialog boxes, scrolling menus, and more. Also included is an executable demo and it's BASIC source code.